1. Field of the Invention
This invention relates to technologies for reporting and collecting s, program failures, and related data from JavaScript-enabled client devices.
2. Background of the Invention
JavaScript™, a simple but powerful and popular web browser-based programming language from Netscape™ and Sun Microsystems™, is well known throughout the web programming industry. Other variations of this language, including the European Computer Manufacturers Association's (“ECMA”) ECMAScript™, and Microsoft Corporation's JScript™, include similar functionality with relative ease of use compared to other programming languages. For example, later versions of JavaScript™ have incorporated functionality previously available in more advanced, and more difficult to use, languages, such as associative arrays, loosely typed variables, and regular expressions from PERL; clean, block-parsed syntax, objects and classes, highly evolved date, math, and string libraries from C/C++ and Java; and functionality of the W3C Document Object Model (“DOM”). JavaScript™ is supported by most of the latest browsers, including Mozilla™, Netscape 6™, Internet Explorer 6™ for Microsoft Windows™ and Internet Explorer 5™ for Macintosh™. For the purposes of this disclosure, we will refer to these type of programming languages and programs collectively as “web browser-based programming languages”, or WBPL.
However, WBPL code may not work for all users due to differing browser implementations of WBPL. WBPL's can reduce or impair functionality and experience for the user. Developers often try to determine problems prior to deploying new WBPL code by testing the WBPL on various browsers with various operating systems, but this is not a very effective method of testing literally thousands of possible combinations of computing platforms, operating systems, and browsers. For example, consider the number of computing platforms in use today which can access the internet, such as Intel™-based Personal Computers (“PC”), AMD™-based PC's, ARM™-based Personal Digital Assistant (“PDAs”), Apple's iMac™ computers, as well as a wide array of “smart phones”. Then, consider the vast array of operating systems running on these devices, including various versions of Palm Computing's PalmOS™, various versions of Microsoft Windows™ (e.g. 95/98/2000/NT/XP Home/XP Professional™), various versions of Mac OS™, as well as a number of proprietary operating systems for smart phones, multiplied by literally hundreds of versions, upgrades, patch levels, and service pack combinations. Lastly, consider the large number of browsers in use, including their many versions, plug-ins, etc.
As such, simple testing of a WBPL program on a few combinations of hardware and software is rudimentary, at best. Most WBPL developers rely, instead, on post-release and post-deployment feedback from users, such as collecting information and correction suggestions, from actual users via email. This approach also doesn't work well.
For these reasons, there is a need in the art for a system and method for developers of WBPL programs to know if s are encountered in the field, and to accurately and unobtrusively collect details regarding the environment and conditions of those s, in order to overcome practical limitations of not being able to test every browser/OS/platform combination, and in order to reduce reliance upon script users to supply feedback details.